minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
↳ QTRS
↳ DependencyPairsProof
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
DOUBLE(s(x)) → DOUBLE(x)
PLUS(s(x), y) → PLUS(x, y)
PLUS(s(x), y) → MINUS(x, y)
PLUS(s(x), y) → DOUBLE(y)
PLUS(s(x), y) → PLUS(x, s(y))
PLUS(s(plus(x, y)), z) → PLUS(plus(x, y), z)
MINUS(s(x), s(y)) → MINUS(x, y)
PLUS(s(x), y) → PLUS(minus(x, y), double(y))
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
DOUBLE(s(x)) → DOUBLE(x)
PLUS(s(x), y) → PLUS(x, y)
PLUS(s(x), y) → MINUS(x, y)
PLUS(s(x), y) → DOUBLE(y)
PLUS(s(x), y) → PLUS(x, s(y))
PLUS(s(plus(x, y)), z) → PLUS(plus(x, y), z)
MINUS(s(x), s(y)) → MINUS(x, y)
PLUS(s(x), y) → PLUS(minus(x, y), double(y))
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
DOUBLE(s(x)) → DOUBLE(x)
PLUS(s(x), y) → PLUS(x, y)
PLUS(s(x), y) → MINUS(x, y)
PLUS(s(x), y) → PLUS(x, s(y))
PLUS(s(x), y) → DOUBLE(y)
PLUS(s(plus(x, y)), z) → PLUS(plus(x, y), z)
MINUS(s(x), s(y)) → MINUS(x, y)
PLUS(s(x), y) → PLUS(minus(x, y), double(y))
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
DOUBLE(s(x)) → DOUBLE(x)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DOUBLE(s(x)) → DOUBLE(x)
[DOUBLE1, s1]
s1: multiset
DOUBLE1: multiset
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
MINUS(s(x), s(y)) → MINUS(x, y)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MINUS(s(x), s(y)) → MINUS(x, y)
[MINUS1, s1]
MINUS1: multiset
s1: multiset
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
PLUS(s(x), y) → PLUS(x, y)
PLUS(s(x), y) → PLUS(x, s(y))
PLUS(s(plus(x, y)), z) → PLUS(plus(x, y), z)
PLUS(s(x), y) → PLUS(minus(x, y), double(y))
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(s(x), y) → PLUS(x, y)
PLUS(s(x), y) → PLUS(x, s(y))
PLUS(s(plus(x, y)), z) → PLUS(plus(x, y), z)
PLUS(s(x), y) → PLUS(minus(x, y), double(y))
[PLUS2, plus2] > [double1, 0] > s1
plus2: [1,2]
s1: multiset
0: multiset
PLUS2: [1,2]
double1: multiset
minus(s(x), s(y)) → minus(x, y)
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
double(0) → 0
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
minus(x, 0) → x
double(s(x)) → s(s(double(x)))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(x), y) → s(plus(x, y))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))